3 research outputs found
Reverse Engineering Feature Models with Evolutionary Algorithms: An Exploratory Study
Successful software evolves, more and more commonly, from
a single system to a set of system variants tailored to meet the similiar
and yet di erent functionality required by the distinct clients and
users. Software Product Line Engineering (SPLE) is a software development
paradigm that has proven e ective for coping with this scenario. At
the core of SPLE is variability modeling which employs Feature Models
(FMs) as the de facto standard to represent the combinations of features
that distinguish the systems variants. Reverse engineering FMs consist in
constructing a feature model from a set of products descriptions. This research
area is becoming increasingly active within the SPLE community,
where the problem has been addressed with di erent perspectives and
approaches ranging from analysis of con guration scripts, use of propositional
logic or natural language techniques, to ad hoc algorithms. In
this paper, we explore the feasibility of using Evolutionary Algorithms
(EAs) to synthesize FMs from the feature sets that describe the system
variants. We analyzed 59 representative case studies of di erent characteristics
and complexity. Our exploratory study found that FMs that
denote proper supersets of the desired feature sets can be obtained with a
small number of generations. However, reducing the di erences between
these two sets with an e ective and scalable tness function remains an
open question.We believe that this work is a rst step towards leveraging
the extensive wealth of Search-Based Software Engineering techniques to
address this and other variability management challenges.CICYT TIN2009- 07366Junta de Andalucía TIC-590
Multi-objective test case prioritization in highly configurable systems: A case study
Test case prioritization schedules test cases for execution in an order that attempts to accelerate the detection of
faults. The order of test cases is determined by prioritization objectives such as covering code or critical components as
rapidly as possible. The importance of this technique has been recognized in the context of Highly-Configurable Systems
(HCSs), where the potentially huge number of configurations makes testing extremely challenging. However, current
approaches for test case prioritization in HCSs suffer from two main limitations. First, the prioritization is usually driven
by a single objective which neglects the potential benefits of combining multiple criteria to guide the detection of faults.
Second, instead of using industry-strength case studies, evaluations are conducted using synthetic data, which provides
no information about the effectiveness of different prioritization objectives. In this paper, we address both limitations
by studying 63 combinations of up to three prioritization objectives in accelerating the detection of faults in the Drupal
framework. Results show that non–functional properties such as the number of changes in the features are more effective
than functional metrics extracted from the configuration model. Results also suggest that multi-objective prioritization
typically results in faster fault detection than mono-objective prioritization.CICYT TIN2012-32273CICYT TIN2015-70560-RJunta de Andalucía P12-TIC- 186
An assessment of search-based techniques for reverse engineering feature models
Successful software evolves from a single system by adding and changing functionality to keep up with users’ demands and to cater to their similar and different requirements. Nowadays it is a common practice to offer a system in many variants such as community, professional, or academic editions. Each variant provides different functionality described in terms of features. Software Product Line Engineering (SPLE) is an effective software development paradigm for this scenario. At the core of SPLE is variability modelling whose goal is to represent the combinations of features that distinguish the system variants using feature models, the de facto standard for such task. As SPLE practices are becoming more pervasive, reverse engineering feature models from the feature descriptions of each individual variant has become an active research subject. In this paper we evaluated, for this reverse engineering task, three standard search based techniques (evolutionary algorithms, hill climbing, and random search) with two objective functions on 74 SPLs. We compared their performance using precision and recall, and found a clear trade-off between these two metrics which we further reified into a third objective function based on Fβ, an information retrieval measure, that showed a clear performance improvement. We believe that this work sheds light on the great potential of search-based techniques for SPLE tasks.Ministerio de Economía y Competitividad TIN2012-32273Junta de Andalucía TIC-186